package me.zhengjie.modules.system.service

import me.zhengjie.modules.system.domain.*
import me.zhengjie.modules.system.service.dto.*
import jakarta.servlet.http.HttpServletResponse
import org.springframework.data.domain.Pageable
import java.io.IOException

/**
 * @author kuki
 * @date 2022-07-21
 */
interface AreaService {
    /**
     * 查询数据分页
     * @param criteria 条件参数
     * @param pageable 分页参数
     * @return Map<String></String>,Object>
     */
    fun queryAll(criteria: AreaQueryCriteria, pageable: Pageable?): Any?

    /**
     * 查询所有数据不分页
     * @param criteria 条件参数
     * @return List<AreaDTO>
    </AreaDTO> */
    fun queryAll(criteria: AreaQueryCriteria?): List<AreaDTO?>?

    /**
     * 根据ID查询
     * @param id ID
     * @return AreaDTO
     */
    fun findById(id: Int): AreaDTO?
    fun create(resources: Area): AreaDTO?
    fun update(resources: Area)
    fun delete(id: Int)

    @Throws(IOException::class)
    fun download(all: List<AreaDTO?>?, response: HttpServletResponse?)
}